﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace ATSL.ADOComponents
{
    public class DataServiceCommand: IDbCommand
    {
        #region Fields
        private IDbConnection _connection;

        private IDbTransaction _transaction;

        private string _commandText;

        private int _commandTimeout;

        private CommandType _commandType;

        private IDataParameterCollection _parameters;

        private UpdateRowSource _updatedRowSource;

        private string _entityUri;
        #endregion

        #region Implementation of IDisposable

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region Implementation of IDbCommand

        public void Prepare()
        {
            throw new NotImplementedException();
        }

        public void Cancel()
        {
            throw new NotImplementedException();
        }

        public IDbDataParameter CreateParameter()
        {
            throw new NotImplementedException();
        }

        public int ExecuteNonQuery()
        {
            throw new NotImplementedException();
        }

        public IDataReader ExecuteReader()
        {
            throw new NotImplementedException();
        }

        public IDataReader ExecuteReader(CommandBehavior behavior)
        {
            throw new NotImplementedException();
        }

        public object ExecuteScalar()
        {
            throw new NotImplementedException();
        }

        public IDbConnection Connection
        {
            get { return _connection; }
            set { _connection = value; }
        }

        public IDbTransaction Transaction
        {
            get { return _transaction; }
            set { _transaction = value; }
        }

        public string CommandText
        {
            get { return _commandText; }
            set { _commandText = value; }
        }

        public int CommandTimeout
        {
            get { return _commandTimeout; }
            set { _commandTimeout = value; }
        }

        public CommandType CommandType
        {
            get { return _commandType; }
            set { _commandType = value; }
        }

        public IDataParameterCollection Parameters
        {
            get { return _parameters; }
        }

        public UpdateRowSource UpdatedRowSource
        {
            get { return _updatedRowSource; }
            set { _updatedRowSource = value; }
        }

        #endregion

        /// <summary>
        /// Gets or sets the data service entity URI.
        /// </summary>
        /// <value>
        /// The data service entity URI.
        /// </value>
        public string EntityUri
        {
            get { return _entityUri; }
            set
            {
                _entityUri = value;
            }
        }
        
    }
}
